language: c

jobs:
  include:
  - os: linux
    dist: focal
    arch: arm64
    compiler: gcc
    env: BUILD_SYSTEM="cmake" CONFIGURE_OPTS=-DWITH_ASM=0
  - os: linux
    dist: focal
    arch: arm64
    compiler: gcc
    env: BUILD_SYSTEM="cmake" CONFIGURE_OPTS=
  - os: linux
    dist: focal
    arch: arm64
    compiler: gcc
    env: BUILD_SYSTEM="autotools" CONFIGURE_OPTS=
#  - os: linux
#    dist: focal
#    arch: arm64
#    compiler: clang
#    env: BUILD_SYSTEM="cmake" CONFIGURE_OPTS=-DWITH_STACK_PROTECTOR=OFF # Clang on focal arm64 seems broken, can't find a way to reproduce this on my machine
  - os: linux
    dist: focal
    arch: arm64
    compiler: gcc
    env: BUILD_SYSTEM="cmake" CONFIGURE_OPTS=-DENABLE_64_BIT_WORDS=OFF
  - os: linux
    dist: focal
    arch: ppc64le
    compiler: gcc
    env: BUILD_SYSTEM="cmake" CONFIGURE_OPTS=-DWITH_ASM=0
  - os: linux
    dist: focal
    arch: ppc64le
    compiler: gcc
    env: BUILD_SYSTEM="cmake" CONFIGURE_OPTS=
  - os: linux
    dist: focal
    arch: ppc64le
    compiler: gcc
    env: BUILD_SYSTEM="autotools" CONFIGURE_OPTS=
  - os: linux
    dist: focal
    arch: ppc64le
    compiler: clang
    env: BUILD_SYSTEM="cmake" CONFIGURE_OPTS=
  - os: linux
    dist: focal
    arch: ppc64le
    compiler: gcc
    env: BUILD_SYSTEM="cmake" CONFIGURE_OPTS=-DENABLE_64_BIT_WORDS=OFF

install:
  - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get -y install libtool-bin libogg-dev; fi

script:
  - if [[ "${BUILD_SYSTEM}" == "autotools" ]]; then ./autogen.sh && ./configure $CONFIGURE_OPTS && make && make check; fi
  - if [[ "${BUILD_SYSTEM}" == "cmake" ]]; then mkdir cmake-build && cd cmake-build && cmake .. -DCMAKE_BUILD_TYPE=Release -DINSTALL_MANPAGES=OFF $CONFIGURE_OPTS && cat config.h && cmake --build . && travis_wait 30 ctest --output-on-failure; fi
